package tcpGroupChat;

import java.io.DataOutputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;

public class Client {
    public static void main(String[] args) {
        Socket socket = null;
        DataOutputStream dataOutputStream = null;
        System.out.println("----欢迎进入本系统,请输出exit退出系统----");
        try {
            //获取一个Socket端点对象
            socket = new Socket("127.0.0.1", 9999);

            //创建一个线程去接收客户端所发出来的消息
            new ClientReadThread(socket).start();

            //通过端点对象获取一个低级的输出流对象
            OutputStream outputStream = socket.getOutputStream();
            //包装成高级输出流
            dataOutputStream = new DataOutputStream(outputStream);

            Scanner sc = new Scanner(System.in);
            while (true) {
                //用户输入消息发送给服务端
                System.out.println("请输入发送给服务端的消息");
                String s = sc.nextLine();
                if (s.equals("exit")) {
                    System.out.println("欢迎下次光临，退出成功！");
                    break;
                }
                //使用流对服务端发送数据
                dataOutputStream.writeUTF(s);
                //刷新数据，防止数据在客户端内存存留
                dataOutputStream.flush();
            }
        }catch (Exception ignored){

        }finally {
            //关闭流
            try{
                if (socket != null) {
                    socket.close();
                }
                if (dataOutputStream != null) {
                    dataOutputStream.close();
                }
            }catch (Exception ignored){

            }
        }
    }
}
